package com.example.springboot_jap_model.service;

import com.example.springboot_jap_model.domain.Authority;
import com.example.springboot_jap_model.domain.RespEntity;
import com.example.springboot_jap_model.domain.Role;
import org.springframework.boot.configurationprocessor.json.JSONException;
import org.springframework.data.domain.Pageable;
import org.springframework.ui.ModelMap;

public interface AuthService {

    /**
     * 添加或修改
     * 1.生成 auth
     * @return
     */
    RespEntity addAuthority(Authority authority);

    /**
     * 权限分组
     * 1.生成 role and auth
     */
    RespEntity generateRole(Long roleId,String authId);

    /**
     * 权限分配
     * 1.生成 user and role
     */
    RespEntity assortRole(Long userId,Long roleId);

    /**
     * 获取 全部权限 列表
     * 分页
     */
    void findAllAuth(ModelMap modelMap, Pageable pageable) throws JSONException;

    RespEntity findAllAuth(ModelMap modelMap) throws JSONException;

    /**
     * 获取 全部的 分组列表
     * 1.并获取 第一个的 全部 权限
     */
    void findAllRoleAndAuth(ModelMap modelMap,Pageable pageable);

}
